/////////////////////////////////////////////////////////////////////////////////////////////////
//
// Scene where there are some swarms with independent behavior each
//
/////////////////////////////////////////////////////////////////////////////////////////////////

#pragma once

#include "scenes/Scene.h"
#include "scenes/swarmScene/SwarmSceneBuffers.h"
#include "scenes/swarmScene/SwarmSceneResources.h"
#include "scenes/swarmScene/SwarmSceneSettings.h"
#include "scenes/swarmScene/SwarmSceneShaders.h"

class SwarmScene : public Scene {
	swarmScene::Settings mSettings;

	swarmScene::ConstantBuffers mConstantBuffers;

	swarmScene::Shaders mShaders;

	swarmScene::Resources mResources;

public:
	SwarmScene();

	void init();

	void draw();
	void destroy();

private:
	void initCamera() const;
	void initPipeline();
};

